// 以后全局数据定义和修改方法都要写在这里
// 1. 导入创建 store 的方法
import { legacy_createStore as createStore } from 'redux'



// 2. 创建一个 reducer ,一个状态仓库就是一个 reducer
// reducer 中有两个参数：
// 1. 是 state,该 state 就是我们的全局状态(全局数据)
// 2. action 是动作的意思，里面有两个东西
// 第一个是 type 就是我们要做什么，
// 第二个是 payload，是我们修改属性的值，理解为参数
const reducer = (state = {
    count: 100,
    msg: '你好中国'
}, action) => {

    // type 就是我们要做事情的标记
    // payload 就是我们要处理数据成什么
    const { type, payload } = action

    switch (type) {
        case 'add':
            // 加 1
            return { ...state, count: state.count + 1 }
        case 'addNum':
            // 加 指定数
            return { ...state, count: state.count + payload }

        default:
            return state
    }


}



// 3. 通过 createStore 来创建一个状态管理器
const store = createStore(reducer)

// 4. 将 store 导出去
export default store